javascript字符串方法:查找、截取、替换、转换大小写、连接、去空格、提取、转换为数组

您所在的位置:网站首页 js string替换字符 javascript字符串方法:查找、截取、替换、转换大小写、连接、去空格、提取、转换为数组

javascript字符串方法:查找、截取、替换、转换大小写、连接、去空格、提取、转换为数组

2023-08-06 18:14| 来源: 网络整理| 查看: 265

今天整理一下字符串的方法和属性,为了方便看,我把它分成了几个部分: 查找字符串: 序号方法描述1length属性返回字符串的长度2indexOf()属性返回字符串中指定文本首次出现的索引(位置)3lastIndexOf()属性返回字符串中指定文本最后一次出现的索引(位置)4search()属性返回字符串中特定值的字符串的首次 出现的索引(位置) 一、 length: 字符串的长度

属性返回字符串的长度

var str = "abcdef" var strLen = str.length // 6 二、 indexOf( ): 查找字符串中的字符串

属性返回字符串中指定文本首次出现的索引(位置)

var str = "abcdef" var strLen = str.indexOf('d') // 3 三、lastIndexOf(): 查找字符串中的字符串

属性返回字符串中指定文本最后一次出现的索引(位置)

var str = "abcadef" var strLen = str.lastIndexOf('a') // 3

注意:

如果未找到文本,indexOf()和lastIndexOf() 均返回 -1两种方法都接受作为检索起始位置的第二个参数:lastIndexOf() 方法是向后进行检索的(从后往前),如例子中的第二个参数是6,则是从索引为6的地方开始向前检索直到字符串的起点。 var str = "abcadef" var strLen = str.IndexOf('a', 2) // 3 var strLen2 = str.lastIndexOf('a', 6) //3 四、 search( ):检索字符串中的字符串

属性返回字符串中指定字符串的首次出现的索引(位置)

var str = "abcdedf" var strLen = str.search('de') // 3

你注意到了没: search() 和indexOf() ,是相等的,它俩的区别是:

search() 方法无法设置第二个开始位置的参数indexOf() 方法无法设置更强大的搜索值(正则表达式) 截取字符串(提取部分字符串): 序号方法描述1slice(start, end)提取字符串的某个部分并在新字符串中返回被提取的部分2substring(start, end)提取字符串的某个部分并在新字符串中返回被提取的部分3substr(start, length)提取字符串的某个部分并在新字符串中返回被提取的部分) 一、 slice(): 提取字符串的某个部分并在新字符串中返回被提取的部分

slice(start, end)

参数: 起始索引(开始位置),终止索引(结束位置)。

截取的结果包含开始位置,不包含终止位置。

var str = "abcdef" var strLen = str.slice(2,5) // cde

如果参数为负数,则从字符串的末尾向前计算:

var str = "abcdefjhigk" var strLen = str.slice(-5,-2) // jhi

如果省略第二个参数,则从起始的位置裁剪到字符串的结尾

var str = "abcdef" var strLen = str.slice(2) // cdef // 或者负数,从结尾计算 var strLen2 = str.slice(-3) // def

注意: 负数参数不能用于IE8及以前

二、 substring(): 类似于slice(),区别是不能设置负数索引

substring(start, end)

参数: 起始索引(开始位置),终止索引(结束位置)。

截取的结果包含开始位置,不包含终止位置。

var str = "abcdef" var strLen = str.substring(2,5) // cde

如果省略第二个参数,则从起始的位置裁剪到字符串的结尾

var str = "abcdef" var strLen = str.substring(2) // cdef 三、 substr(): 类似于slice(),区别是第二个参数不同

substr(start, length)

参数: 起始索引(开始位置),被提取的部分的长度

截取的结果包含开始位置。

var str = "abcdefjhigk" var strLen = str.substr(1,5) // bcdef

如果省略第二个参数,则从起始的位置裁剪到字符串的结尾

var str = "abcdef" var strLen = str.substr(2) // cdef

如果首个参数为负数,则从字符串的结尾计算位置

var str = "abcdefjhigk" var strLen = str.substr(-2) // gk

注意: 第二个参数不能是负数,因为它定义的是长度。

替换字符串内容

replace() 方法不会改变调用它的字符串,返回的是新的字符串

参数: 字符串中即将被替换的文本,替换成的文本

该方法默认只替换首个匹配:

var str = "hello world" var strx = str.replace("world","xiaomeizi") // hello xiaomeizi

注意: 该方法对大小写敏感,因此不会匹配到大写的”WORLD“

如果想执行大小写不敏感的替换需要使用正则表达式: /i(大小写不敏感 )

var str = "HELLO world" // 注意:使用正则表达式时不需要带引号 var strx = str.replace(/hello/i,"xiaomeizi") // xiaomeizi world 转换为大小写

**toUpperCase():**把字符串转换成大写

var str = "hello world" var strx = str.toUpperCase() // HELLO WORLD

**toLowerCase():**把字符串转换成小写

var str = "Hello World" var strx = str.toLowerCase() //hello world 连接两个或多个字符串

concat(): 连接两个或多个字符串 参数: 第一个参数是用什么连接,第二个是连接到谁,以此类推可连接多个

var str1 = "Hello" var str2 = "World" var str3 = "xxx" var strx = str1.concat(" ",str2) //Hello World var stry = str1.concat(" ",str2," 123 ",str3) //Hello World 123 xxx

concat() 方法可用于代替加运算符,下面两行代码等效:

var strx = "Hello" + " " + "World" //Hello World var stry = "Hello".concat(" ","World") //Hello World

注意: 所有字符串的方法都会返回新字符串。它们不会修改原始字符串。 正式的说:字符串是不可变的:字符串是不可变的,字符串不能更改,只能替换。

去空格:删除字符串两端的空白字符

trim() 去掉字符串两端的空格

var str1 = " Hello World " var stry = str1.trim() //Hello World

注意: IE8及更低版本不支持 trim() 方法。

提取字符串字符

charAt(position): 方法返回字符串中指定下标(位置)的字符串 参数: 指定下标(位置)

var str1 = "Hello World" var stry = str1.charAt(0) // 返回 H

charCodeAt(position): 方法返回字符串中指定下标(位置)的字符unicode编码 参数: 指定下标(位置)

var str1 = "Hello World" var stry = str1.charCodeAt(0) // 返回 72 属性访问 var str1 = "Hello World" var stry = str1[0] // 返回 H // 注意:不能给属性赋值 str1[0] = "A" // 不会报错,但是无效

注意: 使用属性访问有点不太靠谱:

不适合IE7或更早的版本它让字符串看起来像是数组(其实并不是)如果找不到字符,[ ] 返回 undefined, 而 charAt() 返回空字符串。它是只读。str[0] = “A” 不会产生错误,但也不会执行。 如果希望用数组的方式处理字符串,可以先把它转换为数组

split(): 将字符串转换为数组:

var str1 = "a,b,c,d,e,f" var arr = str1.split(",") // 用逗号分隔 // var arr = str1.split(" ") // 用空格分隔 // var arr = str1.split("|") // 用竖线分隔 arr[0] // 返回 a arr[0] = "H" // 可以接受赋值,当前 arr[0] 返回 H

如果忽略分隔符,被返回的数组将包含index[0]中的整个字符串 如果分隔符是""(空字符串),被返回的数组僵尸间隔单个字符的数组:

JavaScript 字符串方法 var str1 = "abcdef" var arr1 = str1.split() // 忽略分隔符 var arr2 = str1.split("") // 用空字符串分隔 var text1 = ""; var text2 = ""; var i; for (i = 0; i text2 += arr2[i] + "" } document.getElementById("demo2").innerHTML = text2; // demo2 返回: // a // b // c // d // e // f


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3